/*
 * Copyright (c) 2017. 深圳一七网络科技. All rights reserved.
 */

package com.fenxiangle.yueding.feature.home.contract;

import com.fenxiangle.yueding.entity.bo.FoucsBo;
import com.fenxiangle.yueding.entity.bo.FoucsListBo;
import com.fenxiangle.yueding.entity.bo.HomeDataBo;
import com.fenxiangle.yueding.entity.bo.HomeFilterBo;
import com.fenxiangle.yueding.entity.bo.UserCenterBo;
import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;

import java.util.List;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2017/4/11 9:06
 */
public interface HomeContract {

    interface Model {

        Observable<List<HomeDataBo>> getHomeData(HomeFilterBo homeFilterBo);

        Observable<String> attentionFollow(FoucsBo homeFilterBo);

        Observable<String> attentionUnFollow(FoucsBo homeFilterBo);
    }

    interface View extends BaseView {
        void showHomeDataSuccess(List<HomeDataBo> s);

        void showHomeDataError(String error);//显示错误消息

        void showHomeDataMoreSuccess(List<HomeDataBo> msg);

        void showHomeDataMoreError(String msg);

        void showHomeDataEmpty();

        void showFollowSuccess();

        void showUnFollowSuccess();

        void showFollowError(String error);//显示错误消息
    }


    interface Presenter extends BasePresenter {//

        void getHomeData(
                int pageNow,
                int pageSize,
                String sortType,
                String assess,
                String city,
                String sex,
                String age,
                String authentication
                ,int type,String screen
        );

        void getHomeMoreData(
                int pageNow,
                int pageSize,
                String sortType,
                String assess,
                String city,
                String sex,
                String age,
                String authentication,int type,String screen
        );

        void attentionFollow(String attentionUserUid);

        void attentionUnFollow(String attentionUserUid);
    }
}
